package com.zc.api.domain;

import com.ruoyi.common.utils.StringUtils;

import java.util.HashMap;

/**
 * @Author: gaojikun
 * @Description: 返回实体类
 * @Date: 2024/5/8 14:34
 * @Version: 1.0
 */
public class ApsmsResult extends HashMap<String, Object> {

    /**
     * 状态码
     */
    public static final String RET_TAG = "Ret";

    /**
     * 返回内容
     */
    public static final String MSG_TAG = "Msg";

    /**
     * 数据对象
     */
    public static final String DATA_TAG = "Data";

    /**
     *
     */
    public static final String SIG_TAG = "Sig";


    /**
     * 初始化一个新创建的 ApsmsResult 对象，使其表示一个空消息。
     */
    public ApsmsResult() {
    }

    /**
     * 初始化一个新创建的 ApsmsResult 对象
     *
     * @param code 状态码 0-成功;1-失败
     * @param msg  返回内容
     * @param data 数据对象
     * @param sig
     */
    public ApsmsResult(int code, String msg, Object data, String sig) {
        super.put(RET_TAG, code);
        super.put(MSG_TAG, msg);
        if (StringUtils.isNotNull(data)) {
            super.put(DATA_TAG, data);
        }
        super.put(SIG_TAG, sig);
    }

    /**
     * 返回成功消息
     *
     * @param msg  返回内容
     * @param data 数据对象
     * @return 成功消息
     */
    public static ApsmsResult success(int code, String msg, Object data, String sig) {
        return new ApsmsResult(code, msg, data, sig);
    }

    /**
     * 返回错误消息
     *
     * @param msg  返回内容
     * @param data 数据对象
     * @return 警告消息
     */
    public static ApsmsResult error(int code, String msg, Object data, String sig) {
        return new ApsmsResult(code, msg, data, sig);
    }

}
